import CryptoJS from 'crypto-js';

import { message } from 'antd';
export const secretKey = 'secretkey123';
/**
 * 加密信息,本地存储
 * @param {String} key 本地存储key
 * @param {Object} info 用户信息
 */
export async function setLoginInfo(key, info) {
    const value = JSON.stringify(info)
    if (key.length && value !== '{}') {
        // 1.要存储的值  2.加密的秘钥（解密的时候必须要根据秘钥才能解密）
        let cipherText = CryptoJS.AES.encrypt(
            value,
            secretKey
        ).toString();
        localStorage.setItem(key, cipherText); //本地存储
        return true;
    } else {
        message.error('网络异常, 请稍后重试');
        return false;
    }
}

/**
 * 取出加密后的信息
 * @param {String} key 本地存储key
 */
export function getLoginInfo(key) {
    /* 取出加密后的value */
    //把存储的值取出 
    //解密操作

    if (key.length) {
        let value = localStorage.getItem(key);
        let bytes = CryptoJS.AES.decrypt(value || "", secretKey);

        let originalText = bytes.toString(CryptoJS.enc.Utf8);
        console.log(originalText);
        return originalText ? JSON.parse(originalText) : ''
    }
}



/**
 * 清除登录状态
 */
export function clearLoginState() {
    localStorage.clear();
    window.location.reload()
}

export const defaultInfo = {
    state: false,
    username: '',
    password: ''
}